#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>

#define EMMCID_PATH "/sys/class/mmc_host/mmc0/mmc0:0001/cid"

int main() {
    char emmcid[64] = {0};
    int fd;

    // 打开 eMMC CID 文件
    fd = open(EMMCID_PATH, O_RDONLY);
    if (fd < 0) {
        perror("无法打开 eMMC CID 文件");
        return 1;
    }

    // 读取 eMMC ID
    if (read(fd, emmcid, sizeof(emmcid) - 1) < 0) {
        perror("读取 eMMC ID 失败");
        close(fd);
        return 1;
    }

    // 关闭文件
    close(fd);

    // 移除末尾的换行符
    emmcid[strcspn(emmcid, "\n")] = 0;

    // 打印 eMMC ID
    printf("eMMC ID: %s\n", emmcid);

    return 0;
}
